# Mobilerun ## Docs - [Agent](https://docs.mobilerun.ai/agent.md): Configure and run the Mobilerun agent to automate tasks on your devices. - [API Keys](https://docs.mobilerun.ai/api-keys.md): Create and manage API keys for programmatic access to the Mobilerun API. - [Get a catalog entry](https://docs.mobilerun.ai/api-reference/action-catalog/get-a-catalog-entry.md): Fetch a single action catalog entry by its ID, including its service, method, and parameter schema. Returns 404 if no entry matches. - [List action catalog entries](https://docs.mobilerun.ai/api-reference/action-catalog/list-action-catalog-entries.md): Return a paginated list of catalog entries — the service/method templates that actions are created from, each carrying its parameter schema. Supports filtering by `service`. - [Create an action](https://docs.mobilerun.ai/api-reference/actions/create-an-action.md): Create a reusable action from a catalog entry (`catalogEntryId`), with an optional `params` object supplying the values for that entry's service method. Returns 400 if the params are invalid for the chosen catalog entry. - [Delete an action](https://docs.mobilerun.ai/api-reference/actions/delete-an-action.md): Delete an action by its ID. Returns 404 if no action matches. - [Get an action](https://docs.mobilerun.ai/api-reference/actions/get-an-action.md): Fetch a single action by its ID, including its configured service, method, and params. Returns 404 if no action matches. - [List actions](https://docs.mobilerun.ai/api-reference/actions/list-actions.md): Return a paginated list of actions. Supports filtering by `service`, free-text `search`, and ordering by name, createdAt, or updatedAt. - [List allowed methods for a service](https://docs.mobilerun.ai/api-reference/actions/list-allowed-methods-for-a-service.md): Return the methods allowed for the given service, each with its parameter definitions (name, type, whether required, description, and optional default/example). Returns 404 if the service is unknown. - [List available services](https://docs.mobilerun.ai/api-reference/actions/list-available-services.md): Return the names of the services that actions can be built against. Use these values to look up each service's allowed methods. - [Update an action](https://docs.mobilerun.ai/api-reference/actions/update-an-action.md): Partially update an action's name, description, or params; all fields are optional. Returns 404 if the action does not exist. - [Add a credential field](https://docs.mobilerun.ai/api-reference/app-credentials/add-a-credential-field.md): Adds a single field to an existing credential. The body specifies a `fieldType` (one of the supported field types) and its value. Returns a conflict if a field of that type already exists on the credential. - [Create a credential](https://docs.mobilerun.ai/api-reference/app-credentials/create-a-credential.md): Creates a credential under the given package with a `credentialName` and at least one field. Each field has a `fieldType` (email, username, password, api_token, phone_number, two_factor_secret, or backup_codes) and a value. - [Delete a credential and all its fields](https://docs.mobilerun.ai/api-reference/app-credentials/delete-a-credential-and-all-its-fields.md): Permanently deletes the credential identified by `packageName` and `credentialName`, removing all of its fields. Returns the deleted credential. - [Delete a field from a credential](https://docs.mobilerun.ai/api-reference/app-credentials/delete-a-field-from-a-credential.md): Removes a single field of the given `fieldType` from the specified credential while leaving the credential itself intact. Returns the updated credential. - [Get a credential](https://docs.mobilerun.ai/api-reference/app-credentials/get-a-credential.md): Fetches a single credential by `packageName` and `credentialName`, including all of its stored fields. Returns not found if no matching credential exists. - [Initialize a new package/app](https://docs.mobilerun.ai/api-reference/app-credentials/initialize-a-new-packageapp.md): Creates a new package (identified by `packageName`) under which credentials can be grouped. Returns a conflict if a package with the same name already exists for the user. - [List credentials](https://docs.mobilerun.ai/api-reference/app-credentials/list-credentials.md): Returns a paginated list of all credentials belonging to the authenticated user across every package. Accepts standard pagination query parameters and responds with the credential items plus pagination metadata. - [List credentials for a specific package](https://docs.mobilerun.ai/api-reference/app-credentials/list-credentials-for-a-specific-package.md): Returns all credentials stored under the given `packageName`. Each credential includes its name, secret path, and the list of fields it holds. - [List packages](https://docs.mobilerun.ai/api-reference/app-credentials/list-packages.md): Returns the names of all packages (apps) the authenticated owner has credentials grouped under. Use this to discover which `packageName` values are valid for the per-package credential routes. - [Update the value of a credential field](https://docs.mobilerun.ai/api-reference/app-credentials/update-the-value-of-a-credential-field.md): Updates the value of an existing field on a credential, identified by `packageName`, `credentialName`, and `fieldType` in the path. The body carries the new value and returns the updated credential. - [Get an app event](https://docs.mobilerun.ai/api-reference/app-events/get-an-app-event.md): Fetch a single structured app event by its ID, including its typed payload, source, and originating device. Returns 404 if no event matches. - [Get one app-event catalog entry by type/name](https://docs.mobilerun.ai/api-reference/app-events/get-one-app-event-catalog-entry-by-typename.md): Fetch a single selectable app event by its appEventType (e.g. app.whatsapp.message_received). - [List structured app events](https://docs.mobilerun.ai/api-reference/app-events/list-structured-app-events.md): Structured, app-scoped events (e.g. app.whatsapp.message_received) derived from raw device notifications. Typed columns — not raw payloads (those stay in the event log). - [List the app-event catalog](https://docs.mobilerun.ai/api-reference/app-events/list-the-app-event-catalog.md): Selectable app-based trigger events (e.g. app.whatsapp.message_received) with their predefined payload — served from the JSON definition registry (always in sync, no DB). - [Confirm successful app upload](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/confirm-successful-app-upload.md): Verifies the APK file exists in R2 and sets the app status to available. - [Create a signed R2 upload URL for an app](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/create-a-signed-r2-upload-url-for-an-app.md): Creates or updates an app and returns pre-signed Cloudflare R2 upload URLs for each file - [Delete uploaded app](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/delete-uploaded-app.md): Deletes an uploaded app by ID. Removes files from R2 storage and the database entry. - [Get app by ID](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/get-app-by-id.md): Retrieves an app by its ID - [Get the user’s storage usage](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/get-the-user’s-storage-usage.md): Returns the user’s total storage quota, bytes used, and remaining bytes — the reliable maximum size for the next upload. - [List apps](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/list-apps.md): Retrieves a paginated list of apps with filtering and search capabilities - [List versions for an app](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/list-versions-for-an-app.md): Retrieves all versions of an app visible to the user (own uploads + system versions) - [Mark app upload as failed](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/mark-app-upload-as-failed.md): Sets the app status to failed. - [Delete app](https://docs.mobilerun.ai/api-reference/apps/delete-app.md): Uninstalls the app identified by the path package name from the device. Protected packages cannot be deleted. - [Grant app permission](https://docs.mobilerun.ai/api-reference/apps/grant-app-permission.md): Grants an Android runtime permission to the package named in the path. The permission is given by its short name (e.g. POST_NOTIFICATIONS). - [Install app](https://docs.mobilerun.ai/api-reference/apps/install-app.md): Installs an app on the device. The request body must supply exactly one of an Android packageName or an iOS bundleId; protected packages are rejected. - [List apps](https://docs.mobilerun.ai/api-reference/apps/list-apps.md): Returns detailed information about apps installed on the device, including package name and label. System and protected apps are excluded unless the corresponding query parameters are set. - [List packages](https://docs.mobilerun.ai/api-reference/apps/list-packages.md): Returns the package names of apps installed on the device. System and protected packages are excluded unless the corresponding query parameters are set. - [Revoke app permission](https://docs.mobilerun.ai/api-reference/apps/revoke-app-permission.md): Revokes an Android runtime permission from the package named in the path. The permission is given by its short name (e.g. POST_NOTIFICATIONS). - [Start app](https://docs.mobilerun.ai/api-reference/apps/start-app.md): Launches the app identified by the path package name, optionally starting a specific activity given in the request body. Protected packages cannot be started. - [Stop app](https://docs.mobilerun.ai/api-reference/apps/stop-app.md): Force-stops the app identified by the path package name. When clearData is set in the request body, the app's data is also cleared. Protected packages cannot be stopped. - [Execute JavaScript in the device's Chrome browser (CDP)](https://docs.mobilerun.ai/api-reference/browser/execute-javascript-in-the-devices-chrome-browser-cdp.md): Evaluates a JavaScript expression in the device's foreground Chrome tab via the Chrome DevTools Protocol and returns its JSON-serialized result. Devices without browser support return an unsupported-feature error. - [List available countries](https://docs.mobilerun.ai/api-reference/countries/list-available-countries.md): Lookup of countries that can be selected when creating a proxy. Each country lists the proxy types available there; without a ?type filter, every covered country is returned. - [Count claimed devices](https://docs.mobilerun.ai/api-reference/devices/count-claimed-devices.md): Returns the number of claimed devices for the user, broken down by device type. - [Get capabilities for a specific device](https://docs.mobilerun.ai/api-reference/devices/get-capabilities-for-a-specific-device.md): Returns the set of capabilities supported by the live device instance, reflected from the running device rather than its static type. Used to determine which tools and features are available for the device. - [Get device info](https://docs.mobilerun.ai/api-reference/devices/get-device-info.md): Returns the current state and metadata for a single device, including its lifecycle state, type, stream URL, billing strategy, and timestamps. A stream token is included while the device is active. - [List devices](https://docs.mobilerun.ai/api-reference/devices/list-devices.md): Returns a paginated list of the user's devices along with pagination metadata. - [List tasks for a device](https://docs.mobilerun.ai/api-reference/devices/list-tasks-for-a-device.md): Returns a paginated list of tasks that have run on the device, along with pagination metadata. - [Provision a new device](https://docs.mobilerun.ai/api-reference/devices/provision-a-new-device.md): Requests a new device for the authenticated user from the device spec in the request body. Optional query parameters select the device type, target country, billing mode, and a profile to use as the base spec; the response returns the device and its stream token. - [Reboot a device](https://docs.mobilerun.ai/api-reference/devices/reboot-a-device.md): Triggers a reboot of the device. The device transitions through its reboot lifecycle and becomes ready again once the restart completes. - [Reset a device to a fresh state](https://docs.mobilerun.ai/api-reference/devices/reset-a-device-to-a-fresh-state.md): Resets the device back to a clean state, clearing installed apps and user data accumulated during the session. The device transitions through its reset lifecycle before becoming ready again. - [Terminate a device](https://docs.mobilerun.ai/api-reference/devices/terminate-a-device.md): Terminates the device and releases its resources. Termination can be scheduled for a future time or chained from a previous device via the request body, in which case a service key is required. - [Update device name](https://docs.mobilerun.ai/api-reference/devices/update-device-name.md): Sets the display name for a device from the name in the request body and returns the updated device. - [Wait for device to be ready](https://docs.mobilerun.ai/api-reference/devices/wait-for-device-to-be-ready.md): Blocks until the device reaches the ready state, then returns the same payload as Get device info. The call returns early with an error if the wait is cancelled or times out. - [Ingest an event](https://docs.mobilerun.ai/api-reference/events/ingest-an-event.md): Ingest an event for trigger evaluation. Returns immediately with 202 Accepted. - [Simulate event matching (dry run)](https://docs.mobilerun.ai/api-reference/events/simulate-event-matching-dry-run.md): Simulate an event against all configured flows. Returns which flows would match and what actions would run, without storing the event or enqueuing jobs. - [Abort a running or pending execution](https://docs.mobilerun.ai/api-reference/executions/abort-a-running-or-pending-execution.md): Signals the worker to stop the execution between steps and marks it cancelled. Idempotent-ish: already-terminal executions return 409. - [Get execution details](https://docs.mobilerun.ai/api-reference/executions/get-execution-details.md): Fetch a single flow execution by its ID, including its status, kind, result or error, and start/finish timestamps. Returns 404 if no execution matches. - [Get execution metrics](https://docs.mobilerun.ai/api-reference/executions/get-execution-metrics.md): Return aggregate execution metrics — total count, counts by status, average duration, and the last execution time. Can be scoped by `flowId`, `triggerId`, and a `from`/`to` time range. - [List flow executions](https://docs.mobilerun.ai/api-reference/executions/list-flow-executions.md): Return a paginated history of flow executions. Supports filtering by `flowId`, `triggerId`, `status`, and a `from`/`to` time range, plus free-text `search` and ordering by startedAt, finishedAt, or status. - [Delete file](https://docs.mobilerun.ai/api-reference/files/delete-file.md): Deletes the file at the path given in the path query parameter from the device. - [Download file](https://docs.mobilerun.ai/api-reference/files/download-file.md): Pulls the file at the given path query parameter from the device and returns its raw bytes as an octet-stream. - [List files](https://docs.mobilerun.ai/api-reference/files/list-files.md): Lists the files at the directory path given in the path query parameter, returning each entry's metadata along with the path and total count. - [Upload file](https://docs.mobilerun.ai/api-reference/files/upload-file.md): Uploads a file to the device via multipart form data, writing it into the directory given by the path query parameter using the uploaded file's name. - [Add an action to a flow](https://docs.mobilerun.ai/api-reference/flows/add-an-action-to-a-flow.md): Append a single action to a flow at the given `position`, optionally nesting it under a `parentFlowActionId` or supplying its own `children`. Supports a `nameOverride`, param `overrides`, and `continueOnError`. Returns 404 if the flow does not exist. - [Clone a flow](https://docs.mobilerun.ai/api-reference/flows/clone-a-flow.md): Create a copy of an existing flow, including its actions and settings. The optional body can override the new flow's `name` and target `deviceIds`. Returns 404 if the source flow does not exist. - [Create a flow](https://docs.mobilerun.ai/api-reference/flows/create-a-flow.md): Create a flow that binds a trigger (`triggerId`) to an ordered list of actions, with at least one action required. Optional settings include target `deviceIds`, a cooldown (`cooldownSeconds`/`cooldownScope`), and webhook notifications on success or failure. - [Delete a flow](https://docs.mobilerun.ai/api-reference/flows/delete-a-flow.md): Delete a flow by its ID. Returns 404 if no flow matches. - [Dry-run a flow](https://docs.mobilerun.ai/api-reference/flows/dry-run-a-flow.md): Simulate this flow firing without storing events, enqueuing jobs, or consuming cooldown/rate-limit slots. - [Get a flow](https://docs.mobilerun.ai/api-reference/flows/get-a-flow.md): Fetch a single flow by its ID, including its trigger binding, configuration, and current status. Returns 404 if no flow matches. - [List actions for a flow](https://docs.mobilerun.ai/api-reference/flows/list-actions-for-a-flow.md): Return the ordered list of actions attached to a flow, including any nested child actions. Returns 404 if the flow does not exist. - [List flows](https://docs.mobilerun.ai/api-reference/flows/list-flows.md): Return a paginated list of flows. Supports filtering by `triggerId`, `enabled`, and one or more health `status` values (healthy, failing, blocked), plus free-text `search` and ordering. - [Remove an action from a flow](https://docs.mobilerun.ai/api-reference/flows/remove-an-action-from-a-flow.md): Remove a single action from a flow by its `flowActionId`. Returns 404 if the flow or flow action does not exist. - [Replace all actions for a flow](https://docs.mobilerun.ai/api-reference/flows/replace-all-actions-for-a-flow.md): Replace a flow's entire action list with the supplied set (at least one required). Each action references an `actionId` and a unique `position`, and may include nested `children`, a `nameOverride`, param `overrides`, and a `continueOnError` flag. Returns 404 if the flow does not exist. - [Unblock a flow](https://docs.mobilerun.ai/api-reference/flows/unblock-a-flow.md): Clear a flow's blocked status after fixing the underlying issue. Idempotent — safe to call on already-healthy flows. - [Update a flow](https://docs.mobilerun.ai/api-reference/flows/update-a-flow.md): Partially update a flow's settings — name, trigger binding, enabled state, target devices, cooldown, or notifications; all fields are optional. Actions are managed through the flow-actions endpoints, not here. Returns 404 if the flow does not exist. - [Check if overlay is visible](https://docs.mobilerun.ai/api-reference/misc/check-if-overlay-is-visible.md): Returns whether the accessibility overlay is currently visible on the device. - [Device fingerprint snapshot](https://docs.mobilerun.ai/api-reference/misc/device-fingerprint-snapshot.md): Returns a live snapshot of the device's spoofed identity, including model, display, identifiers, and carrier. Devices without fingerprint support return an unsupported-feature error. - [Device time](https://docs.mobilerun.ai/api-reference/misc/device-time.md): Returns the device's current wall-clock time as an RFC 3339 timestamp. - [Disable kiosk (lock-task) mode](https://docs.mobilerun.ai/api-reference/misc/disable-kiosk-lock-task-mode.md): Disables Android lock-task (kiosk) mode on the device, releasing it from the locked app. - [Enable kiosk (lock-task) mode](https://docs.mobilerun.ai/api-reference/misc/enable-kiosk-lock-task-mode.md): Locks the device to the package named in the request body using Android lock-task (kiosk) mode, preventing the user from leaving the app. - [Get device language/locale](https://docs.mobilerun.ai/api-reference/misc/get-device-languagelocale.md): Returns the device's current language/locale as a BCP-47 locale string. - [Get device location](https://docs.mobilerun.ai/api-reference/misc/get-device-location.md): Returns the device's current simulated GPS location as latitude and longitude. Devices without geo support return an unsupported-feature error. - [Get device timezone](https://docs.mobilerun.ai/api-reference/misc/get-device-timezone.md): Returns the device's current timezone identifier. Devices that do not support timezone control return an unsupported-feature error. - [Reset the device location to default](https://docs.mobilerun.ai/api-reference/misc/reset-the-device-location-to-default.md): Clears any simulated GPS location and restores the device's default location behavior. Devices without geo support return an unsupported-feature error. - [Set device language/locale](https://docs.mobilerun.ai/api-reference/misc/set-device-languagelocale.md): Sets the device language/locale to the BCP-47 locale in the request body. An optional restart flag applies the change immediately by restarting the zygote instead of waiting for the next reboot. - [Set device location](https://docs.mobilerun.ai/api-reference/misc/set-device-location.md): Sets the device's simulated GPS location to the latitude and longitude in the request body. Devices without geo support return an unsupported-feature error. - [Set device timezone](https://docs.mobilerun.ai/api-reference/misc/set-device-timezone.md): Sets the device timezone to the identifier in the request body. Devices that do not support timezone control return an unsupported-feature error. - [Set overlay visibility](https://docs.mobilerun.ai/api-reference/misc/set-overlay-visibility.md): Shows or hides the accessibility overlay on the device based on the visibility flag in the request body. - [Get all LLM models](https://docs.mobilerun.ai/api-reference/models/get-all-llm-models.md): Get all LLM models - [Clear input](https://docs.mobilerun.ai/api-reference/navigation/clear-input.md): Clears the contents of the currently focused text input field. - [Input key](https://docs.mobilerun.ai/api-reference/navigation/input-key.md): Sends a single Android key event to the device, identified by its key code. - [Input text](https://docs.mobilerun.ai/api-reference/navigation/input-text.md): Types the given text into the focused input field. Supports optionally clearing the field first and a stealth mode that emulates human typing speed and error rate on supported devices. - [Perform a global action](https://docs.mobilerun.ai/api-reference/navigation/perform-a-global-action.md): Performs a global system action on the device, such as navigating back or going to the home screen, identified by an action code. - [Swipe](https://docs.mobilerun.ai/api-reference/navigation/swipe.md): Swipes from a start coordinate to an end coordinate over the given duration in milliseconds. An optional stealth flag applies human-like jitter and curved paths on devices that support it. - [Take screenshot](https://docs.mobilerun.ai/api-reference/navigation/take-screenshot.md): Captures the device screen and returns it as a PNG image. An optional hideOverlay query parameter excludes the accessibility overlay from the capture. - [Tap by coordinates](https://docs.mobilerun.ai/api-reference/navigation/tap-by-coordinates.md): Taps the device screen at the given x/y coordinates. An optional stealth flag routes the tap through human-like input on devices that support it. - [UI state](https://docs.mobilerun.ai/api-reference/navigation/ui-state.md): Returns the current accessibility UI state of the device as a structured tree of on-screen elements. An optional filter query reduces the result to interactive elements. - [Get notification preferences](https://docs.mobilerun.ai/api-reference/notifications/get-notification-preferences.md): Returns your current notification preferences, expressed as the list of event types you have muted. An empty list means notifications are enabled for all notifiable event types. - [List notification event types](https://docs.mobilerun.ai/api-reference/notifications/list-notification-event-types.md): Returns the catalog of notifiable event types grouped by source category. Each event lists its type identifier, label, and description, which can be referenced when muting event types in notification preferences. - [Update notification preferences](https://docs.mobilerun.ai/api-reference/notifications/update-notification-preferences.md): Replaces your set of muted event types with the supplied list. Any unknown or non-notifiable types are dropped, and the response returns the muted types that were actually stored. - [Create a proxy](https://docs.mobilerun.ai/api-reference/proxies/create-a-proxy.md): Provisions a proxy of the requested type for the caller in the selected country. - [Delete a proxy](https://docs.mobilerun.ai/api-reference/proxies/delete-a-proxy.md): Deletes the proxy identified by the path ID and releases its provisioning. Returns 404 if no such proxy exists for the caller. - [Get proxy by ID](https://docs.mobilerun.ai/api-reference/proxies/get-proxy-by-id.md): Returns the proxy identified by the path ID. The response includes the proxy's password. - [Latency check](https://docs.mobilerun.ai/api-reference/proxies/latency-check.md): Returns the most recent cached network-latency measurement for the proxy, sampled periodically by connecting through the proxy to a fixed target. `latency` is null when no measurement is available yet (e.g. the proxy is not active, or it has not been sampled since coming online). - [List proxies](https://docs.mobilerun.ai/api-reference/proxies/list-proxies.md): Returns proxies owned by the calling tenant (the X-Owner-Id header, falling back to X-User-ID). Credentials are omitted from the list. - [List Proxy Connections](https://docs.mobilerun.ai/api-reference/proxies/list-proxy-connections.md): Returns the connection history recorded for this proxy, one item per connection (aggregated across the connection's lifetime). Supports filtering on every property plus ordering and pagination. Returns 503 when the connection-insights backend is disabled or unreachable. - [Connect proxy](https://docs.mobilerun.ai/api-reference/proxy/connect-proxy.md): Routes the device's traffic through a SOCKS5 proxy supplied in the request body, replacing any existing connection. A smartIp option can be used to select an IP automatically; the legacy flat host/port/user/password fields remain supported. - [Disconnect proxy](https://docs.mobilerun.ai/api-reference/proxy/disconnect-proxy.md): Disconnects the device's active proxy connection and clears its stored proxy state. Returns successfully if no proxy is connected. - [Get proxy connection state](https://docs.mobilerun.ai/api-reference/proxy/get-proxy-connection-state.md): Returns the device's current proxy connection state, including whether a proxy is connected and its protocol and name. - [Configure eSIM](https://docs.mobilerun.ai/api-reference/sim/configure-esim.md): Download profile and/or enable subscription. - [Create and set an APN for an eSIM subscription](https://docs.mobilerun.ai/api-reference/sim/create-and-set-an-apn-for-an-esim-subscription.md): Creates an access point name (APN) from the request body and applies it to the given eSIM subscription. Type, protocol, and roaming protocol default to common values when omitted. - [Delete eSIM subscription](https://docs.mobilerun.ai/api-reference/sim/delete-esim-subscription.md): Deletes the eSIM subscription identified by the subId query parameter from the device. - [Enable an eSIM subscription](https://docs.mobilerun.ai/api-reference/sim/enable-an-esim-subscription.md): Enables the eSIM subscription identified by the subId in the request body so it becomes the active subscription. - [Get eSIM connectivity status](https://docs.mobilerun.ai/api-reference/sim/get-esim-connectivity-status.md): Returns the connectivity status of the device's eSIM subscriptions. - [List APNs for active subscriptions](https://docs.mobilerun.ai/api-reference/sim/list-apns-for-active-subscriptions.md): Returns the access point names (APNs) configured for the device's active eSIM subscriptions. - [List eSIM subscriptions](https://docs.mobilerun.ai/api-reference/sim/list-esim-subscriptions.md): Returns the eSIM subscriptions currently provisioned on the device. - [Select an existing APN as preferred](https://docs.mobilerun.ai/api-reference/sim/select-an-existing-apn-as-preferred.md): Marks an existing APN, identified by apnId, as the preferred APN for the given eSIM subscription in the request body. - [Toggle eSIM data roaming](https://docs.mobilerun.ai/api-reference/sim/toggle-esim-data-roaming.md): Enables or disables data roaming for the device's eSIM based on the enabled flag in the request body. - [Attach Task](https://docs.mobilerun.ai/api-reference/tasks/attach-task.md): Attach to a running task and receive its events as an SSE stream. - [Get Task](https://docs.mobilerun.ai/api-reference/tasks/get-task.md): Get full details of a task by ID. - [Get Task Screenshot](https://docs.mobilerun.ai/api-reference/tasks/get-task-screenshot.md): Get a specific screenshot by index. - [Get Task Screenshots](https://docs.mobilerun.ai/api-reference/tasks/get-task-screenshots.md): List all screenshot URLs for a task. - [Get Task Status](https://docs.mobilerun.ai/api-reference/tasks/get-task-status.md): Get the status of a task. - [Get Task Trajectory](https://docs.mobilerun.ai/api-reference/tasks/get-task-trajectory.md): Get the trajectory of a task. - [Get Task Ui State](https://docs.mobilerun.ai/api-reference/tasks/get-task-ui-state.md): Get a specific UI state by index. - [Get Task Ui States](https://docs.mobilerun.ai/api-reference/tasks/get-task-ui-states.md): List all UI state URLs for a task. - [List Tasks](https://docs.mobilerun.ai/api-reference/tasks/list-tasks.md): List tasks with optional filtering, sorting, and pagination. - [Run Streamed Task](https://docs.mobilerun.ai/api-reference/tasks/run-streamed-task.md): Create and dispatch a new agent task, returning an SSE stream of task events. Cancels the task if the client disconnects. - [Run Task](https://docs.mobilerun.ai/api-reference/tasks/run-task.md): Create and dispatch a new agent task. Returns the task ID and device stream details. - [Send Message](https://docs.mobilerun.ai/api-reference/tasks/send-message.md): Send a message to a running agent task. The message ID is delivered via SSE (UserMessageEvent with action=queued). - [Stop Task](https://docs.mobilerun.ai/api-reference/tasks/stop-task.md): Cancel a running task. Returns an error if the task is already in a terminal state. - [Create a trigger](https://docs.mobilerun.ai/api-reference/triggers/create-a-trigger.md): Create a trigger with an activation type of `event`, `schedule`, or `custom`. Each type requires its own fields (e.g. `eventType` and optional `conditions` for events, `scheduleRule` and `timezone` for schedules, `customPayloadSchema` for custom triggers); mismatched fields are rejected. - [Delete a trigger](https://docs.mobilerun.ai/api-reference/triggers/delete-a-trigger.md): Delete a trigger by its ID. Returns 404 if no trigger matches. - [Fire a custom trigger with payload](https://docs.mobilerun.ai/api-reference/triggers/fire-a-custom-trigger-with-payload.md): Invoke a custom trigger directly with an arbitrary JSON payload. - [Get a trigger](https://docs.mobilerun.ai/api-reference/triggers/get-a-trigger.md): Fetch a single trigger by its ID, including its activation type and type-specific configuration. Returns 404 if no trigger matches. - [List triggers](https://docs.mobilerun.ai/api-reference/triggers/list-triggers.md): Return a paginated list of triggers. Supports filtering by `activation` and `eventType`, free-text `search`, and ordering by name, createdAt, or updatedAt. - [Update a trigger](https://docs.mobilerun.ai/api-reference/triggers/update-a-trigger.md): Partially update a trigger; all fields are optional. When `activation` is changed, the type-specific field rules are re-validated. Returns 404 if the trigger does not exist. - [Create a SOCKS5 user](https://docs.mobilerun.ai/api-reference/users/create-a-socks5-user.md): Creates a SOCKS5 credential, optionally bound to a proxy for dedicated routing. Username and password are generated when omitted. - [Delete a SOCKS5 user](https://docs.mobilerun.ai/api-reference/users/delete-a-socks5-user.md): Deletes the SOCKS5 user identified by the path ID, revoking its credentials and any proxy binding. Returns 404 if no such user exists for the caller. - [Get a SOCKS5 user by ID](https://docs.mobilerun.ai/api-reference/users/get-a-socks5-user-by-id.md): Returns the SOCKS5 user identified by the path ID. The response includes the user's password. - [List connections by SOCKS5 user](https://docs.mobilerun.ai/api-reference/users/list-connections-by-socks5-user.md): Returns the connection history recorded for this user, one item per connection (aggregated across the connection's lifetime). Supports filtering on every property plus ordering and pagination. Returns 503 when the connection-insights backend is disabled or unreachable. - [List SOCKS5 users](https://docs.mobilerun.ai/api-reference/users/list-socks5-users.md): Returns SOCKS5 users owned by the caller. Passwords are omitted from the list. - [Update a SOCKS5 user](https://docs.mobilerun.ai/api-reference/users/update-a-socks5-user.md): Rebind the user to a different proxy (or detach it by passing null). - [Get a delivery with its attempts](https://docs.mobilerun.ai/api-reference/webhook-deliveries/get-a-delivery-with-its-attempts.md): Returns a single delivery for a webhook subscription along with the full list of captured attempt records. Each attempt includes the request URL, method, headers and body, whether it was signed, and the response status, headers, and snippet. - [Get delivery statistics](https://docs.mobilerun.ai/api-reference/webhook-deliveries/get-delivery-statistics.md): Returns aggregate delivery statistics across all of your webhooks, including the total count, a breakdown by status (pending, success, skipped, dead), and the overall success rate. An optional `since` timestamp narrows the reporting window. - [List deliveries across all your webhooks](https://docs.mobilerun.ai/api-reference/webhook-deliveries/list-deliveries-across-all-your-webhooks.md): Returns a paginated feed of webhook deliveries across all of your subscriptions, with the originating endpoint URL included on each record. Results can be filtered by delivery status (pending, success, skipped, or dead) and by a `since` timestamp. - [List deliveries for a webhook](https://docs.mobilerun.ai/api-reference/webhook-deliveries/list-deliveries-for-a-webhook.md): Returns a paginated list of deliveries for a single webhook subscription, identified by its id. Each record reports the event, delivery status, attempt count, and the last response code or error. - [List subscribable event types per source](https://docs.mobilerun.ai/api-reference/webhook-event-types/list-subscribable-event-types-per-source.md): Returns the catalog of event types that webhook subscriptions can subscribe to, grouped by source. Use the returned type identifiers as the `eventTypes` values when creating or updating a webhook. - [Delete a webhook subscription](https://docs.mobilerun.ai/api-reference/webhooks/delete-a-webhook-subscription.md): Deletes a webhook subscription so it stops receiving deliveries. Returns 204 No Content on success. - [Get a webhook subscription](https://docs.mobilerun.ai/api-reference/webhooks/get-a-webhook-subscription.md): Returns a single webhook subscription by id, including its URL, subscribed event types, state, and system-observed delivery health. The signing secret is never included. - [List your webhook subscriptions](https://docs.mobilerun.ai/api-reference/webhooks/list-your-webhook-subscriptions.md): Returns a paginated list of your webhook subscriptions, optionally filtered by status (active, failing, blocked, or disabled). The response also includes per-status counts across all of your subscriptions. - [Register a webhook subscription](https://docs.mobilerun.ai/api-reference/webhooks/register-a-webhook-subscription.md): Creates a webhook subscription with a delivery URL and an optional list of event types to subscribe to (defaults to all when omitted). The response includes the generated signing secret, which is returned only once at creation time and cannot be retrieved later. - [Rotate signing secret](https://docs.mobilerun.ai/api-reference/webhooks/rotate-signing-secret.md): Generates a new signing secret for the webhook subscription and returns it once in the response. The previous secret is replaced immediately, so any signature verification on your endpoint must be updated to use the new value. - [Send a one-shot test delivery](https://docs.mobilerun.ai/api-reference/webhooks/send-a-one-shot-test-delivery.md): Sends a single test payload to the webhook subscription URL to verify connectivity. The response reports whether the attempt succeeded along with the returned HTTP status code or error, if any. - [Update a webhook subscription](https://docs.mobilerun.ai/api-reference/webhooks/update-a-webhook-subscription.md): Updates a webhook subscription. Any combination of the subscribed event types, state (ACTIVE or DISABLED), and description may be changed, and at least one field must be supplied. Setting state to ACTIVE re-enables a subscription that was auto-blocked after sustained delivery failures. - [Apps](https://docs.mobilerun.ai/apps.md): Manage your app library by uploading custom APKs to deploy to your devices. - [Browser Automation](https://docs.mobilerun.ai/browser-automation.md): Drive Chrome on a Mobilerun device with Puppeteer or Playwright over the Chrome DevTools Protocol. - [Cloud Quickstart](https://docs.mobilerun.ai/cloud/quickstart.md): Run your first autonomous task on a hosted device using the TypeScript SDK, Python, or cURL. - [Credentials](https://docs.mobilerun.ai/credentials.md): Securely store and manage authentication credentials for automated app interactions. - [Credits](https://docs.mobilerun.ai/credits.md): Understand how credits work and what they are used for on Mobilerun. - [Device Types](https://docs.mobilerun.ai/device-types.md): Learn about the different device types available on Mobilerun and choose the one that best fits your automation needs. - [Devices](https://docs.mobilerun.ai/devices.md): View and manage all your devices and monitor active device streams. - [Architecture](https://docs.mobilerun.ai/framework/concepts/architecture.md): Understanding the Mobilerun multi-agent system for device automation. - [Event Streaming](https://docs.mobilerun.ai/framework/concepts/events-and-workflows.md): How to consume real-time events from MobileAgent execution. - [Prompt Templates](https://docs.mobilerun.ai/framework/concepts/prompts.md): Customizing agent behavior with Jinja2 prompt templates. - [Shared State](https://docs.mobilerun.ai/framework/concepts/shared-state.md): MobileAgentState - the coordination mechanism for multi-agent workflow communication. - [App Instruction Cards](https://docs.mobilerun.ai/framework/features/app-cards.md): App cards give your agents app-specific knowledge to operate apps more effectively. They automatically load when agents work with specific apps, improving success rates for navigation and complex tasks. - [Credential Management](https://docs.mobilerun.ai/framework/features/credentials.md): Extend Mobilerun with secure credential management - [Custom Tools](https://docs.mobilerun.ai/framework/features/custom-tools.md): Extend Mobilerun with custom Python functions - [Custom Variables](https://docs.mobilerun.ai/framework/features/custom-variables.md): Pass dynamic data to your Mobilerun agents using the `variables` parameter. Variables enable parameterized workflows and reusable automation. - [Structured Output](https://docs.mobilerun.ai/framework/features/structured-output.md): Extract structured data from device interactions using Pydantic models - [Telemetry](https://docs.mobilerun.ai/framework/features/telemetry.md): Configure anonymous telemetry - [Tracing](https://docs.mobilerun.ai/framework/features/tracing.md): Configure Phoenix/Langfuse tracing and trajectory recording - [Vision Mode](https://docs.mobilerun.ai/framework/features/vision.md): Screenshots for agents, and how screen coordinates stay accurate - [CLI Usage](https://docs.mobilerun.ai/framework/guides/cli.md): Command-line interface for controlling devices with natural language - [Device Setup](https://docs.mobilerun.ai/framework/guides/device-setup.md): Setting up Android and iOS devices for Mobilerun automation - [Quickstart with Docker](https://docs.mobilerun.ai/framework/guides/docker.md): Get up and running with Mobilerun in Docker quickly and effectively - [Overview](https://docs.mobilerun.ai/framework/guides/overview.md) - [Overview](https://docs.mobilerun.ai/framework/overview.md): Mobilerun is a powerful framework that enables you to control Android and iOS devices through intelligent LLM agents. Build sophisticated mobile automation workflows with natural language commands. - [Quickstart](https://docs.mobilerun.ai/framework/quickstart.md): Get up and running with Mobilerun quickly and effectively - [AndroidDriver](https://docs.mobilerun.ai/framework/sdk/adb-tools.md) - [DeviceDriver Base Class](https://docs.mobilerun.ai/framework/sdk/base-tools.md) - [Configuration](https://docs.mobilerun.ai/framework/sdk/configuration.md): Complete MobileAgent configuration guide - all parameters, minimal examples - [MobileAgent](https://docs.mobilerun.ai/framework/sdk/droid-agent.md) - [IOSDriver](https://docs.mobilerun.ai/framework/sdk/ios-tools.md) - [Reference](https://docs.mobilerun.ai/framework/sdk/reference.md): Complete API reference for Mobilerun components and tools - [Cloud Phone Setup](https://docs.mobilerun.ai/guides/cloud-phone-setup.md): Best practices for setting up and using your Cloud Phone for reliable, stealth automation. - [Connect an Android](https://docs.mobilerun.ai/guides/connect-android.md): Bring your own Android phone into Mobilerun using the Mobilerun Portal app. - [Connect an iPhone](https://docs.mobilerun.ai/guides/connect-iphone.md): Bring your own iPhone into Mobilerun cloud using the mobilerun-ios CLI. - [Physical Phone Setup](https://docs.mobilerun.ai/guides/physical-phone-setup.md): Best practices for setting up and using your Physical Phone for reliable, stealth automation. - [MCP Server](https://docs.mobilerun.ai/mcp-server.md): Connect AI agents and tools to Mobilerun using the Model Context Protocol. - [n8n](https://docs.mobilerun.ai/n8n.md): Automate mobile workflows using the official Mobilerun node for n8n. - [OpenClaw](https://docs.mobilerun.ai/openclaw.md): Set up the Mobilerun skill in OpenClaw to give your AI agent full Android phone control. - [Playground](https://docs.mobilerun.ai/playground.md): Test and optimize your agent configurations interactively before deploying to production. - [Port Forwarding](https://docs.mobilerun.ai/port-forwarding.md): Reach arbitrary TCP services on a Mobilerun device through a WebSocket tunnel or an HTTP reverse proxy. - [Proxies](https://docs.mobilerun.ai/proxies.md): Configure proxies to route device traffic and unlock stealth-level automations. - [Quickstart](https://docs.mobilerun.ai/quickstart.md): Run your first AI agent on a real mobile device, in the cloud or on your own hardware. - [Agent Skills](https://docs.mobilerun.ai/skills.md): Give any AI agent the ability to control Android phones through the Mobilerun skill. - [Tasks](https://docs.mobilerun.ai/tasks.md): Monitor all your agent tasks, track execution history, and view live progress of running tasks. - [Webhooks](https://docs.mobilerun.ai/webhooks.md): Receive real-time notifications when task events occur in your Mobilerun account. ## OpenAPI Specs - [mobilerun-proxy](https://docs.mobilerun.ai/api-reference/mobilerun-proxy.yaml) - [phones](https://docs.mobilerun.ai/api-reference/phones.yaml) - [workflows](https://docs.mobilerun.ai/api-reference/workflows.yaml) - [tasks](https://docs.mobilerun.ai/api-reference/tasks.yaml) - [tools](https://docs.mobilerun.ai/api-reference/phones/tools.yaml) - [webhooks](https://docs.mobilerun.ai/api-reference/webhooks.yaml)