# Mobilerun - [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. - [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. - [API Keys](https://docs.mobilerun.ai/api-keys.md): Create and manage API keys for programmatic access to the Mobilerun API. - [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. - [Android Phone Setup](https://docs.mobilerun.ai/guides/android-phone-setup.md): Best practices for setting up and using your Android Phone for reliable, stealth automation. - [Connect an Android](https://docs.mobilerun.ai/guides/connect-android.md): Bring your own Android phone into Mobilerun Cloud with the Mobilerun Portal app. - [Connect an iPhone](https://docs.mobilerun.ai/guides/connect-iphone.md): Prepare, verify, and connect your own iPhone to Mobilerun cloud with mobilerun-ios. - [CLI overview](https://docs.mobilerun.ai/mobilerun-ios/overview.md): Prepare, configure, and operate your own iPhones with the mobilerun-ios CLI. - [Setup and verification](https://docs.mobilerun.ai/mobilerun-ios/setup-and-verify.md): Prepare a device with setup, choose WDA or native control, and check readiness with verify. - [Configuration](https://docs.mobilerun.ai/mobilerun-ios/configuration.md): Complete config.yaml reference, signing defaults, environment overrides, and runtime settings. - [Automatic onboarding](https://docs.mobilerun.ai/mobilerun-ios/auto.md): Continuously discover USB iPhones, prepare them without erasing, and start their portals. - [Automatic WDA signing](https://docs.mobilerun.ai/mobilerun-ios/wda-signing.md): Configure App Store Connect or Xcode signing for setup and automatic installation of missing runners. - [Apps](https://docs.mobilerun.ai/apps.md): Manage your app library by uploading custom APKs to deploy to your devices. - [Credentials](https://docs.mobilerun.ai/credentials.md): Securely store and manage authentication credentials for automated app interactions. - [Proxies](https://docs.mobilerun.ai/proxies.md): Use managed Mobilerun Connect proxies or bring your own proxy for device traffic. - [Agent](https://docs.mobilerun.ai/agent.md): Configure and run the Mobilerun agent to automate tasks on your devices. - [Playground](https://docs.mobilerun.ai/playground.md): Test and optimize your agent configurations interactively before deploying to production. - [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 signed, real-time HTTP callbacks when tasks, workflows, the assistant, phone numbers, or mailboxes change state in your Mobilerun account. - [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. - [Embed a device stream in your app](https://docs.mobilerun.ai/guides/embed-device-stream.md): Build a custom device experience with @mobilerun/react - [Agent Skills](https://docs.mobilerun.ai/skills/overview.md): Self-contained knowledge packs that teach any AI agent how to use Mobilerun — device control and the virtual assistant. - [OpenClaw · Android Control](https://docs.mobilerun.ai/skills/openclaw.md): Give any AI agent the ability to control a real Android phone through the Mobilerun skill. - [Mobilerun Assistant](https://docs.mobilerun.ai/skills/assistant.md): Talk to the continuously hosted Mobilerun virtual assistant — send long-running tasks, stream replies, and handle human-in-the-loop question and approval cards. - [Mobilerun Assistant · MCP](https://docs.mobilerun.ai/skills/assistant-mcp.md): Teach an agent to chat with the hosted Mobilerun virtual assistant through MCP — send tasks, poll replies, and resolve question and approval cards. - [Mobile Harness · Coding Agents](https://docs.mobilerun.ai/skills/mobile-harness.md): Connect Claude Code, Codex, or another coding agent to Android and iOS devices with the mobile-harness skill — local ADB, Portal, and Android Phones. - [ADB](https://docs.mobilerun.ai/integrations/adb.md): Run your local adb or Frida client against a Mobilerun cloud device through a WebSocket tunnel. - [Browser Automation](https://docs.mobilerun.ai/browser-automation.md): Drive Chrome on a Mobilerun device with Puppeteer or Playwright over the Chrome DevTools Protocol. - [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. - [Network inspection](https://docs.mobilerun.ai/integrations/network-inspection.md): Stream decoded HTTP and WebSocket traffic from a supported Mobilerun device. - [Overview](https://docs.mobilerun.ai/assistant/overview.md): What the Mobilerun Assistant is, what it can do, and how a conversation with it works. - [Getting started](https://docs.mobilerun.ai/assistant/getting-started.md): Go from your first conversation with the assistant to your first result on a device. - [Devices](https://docs.mobilerun.ai/assistant/devices.md): Ask the assistant to activate, create, and manage Android Phones, apps, accounts, proxies, numbers, and mailboxes. - [Workflows](https://docs.mobilerun.ai/assistant/workflows.md): Turn a job you would otherwise ask for by hand into recurring or triggered automation the assistant builds and runs for you. - [Results](https://docs.mobilerun.ai/assistant/results.md): How the assistant scrapes lists, compares runs, and hands you files and answers. - [Tasks and recordings](https://docs.mobilerun.ai/assistant/tasks-and-recordings.md): Where the assistant’s device work shows up in the dashboard, how to look it up later, and how to record a phone screen while it works. - [Integrations](https://docs.mobilerun.ai/assistant/integrations.md): Connect Gmail, Google Workspace, GitHub, Slack, Microsoft Teams, and OneDrive so the assistant can read your data and, where allowed, act in those tools. - [Get notified by the assistant](https://docs.mobilerun.ai/assistant/notifications.md): Receive a webhook when the Mobilerun assistant finishes, fails, or is waiting for your answer, so you can start a long job and walk away. - [Human in the loop](https://docs.mobilerun.ai/assistant/human-in-the-loop.md): When the assistant asks you a question or waits for your approval before doing something sensitive, and what happens while you decide. - [Memory and skills](https://docs.mobilerun.ai/assistant/memory-and-skills.md): What the assistant remembers between conversations, how to ask it for a recap, and how to teach it your own playbooks and apps. - [Limits and costs](https://docs.mobilerun.ai/assistant/limits-and-costs.md): How credits are spent, how to estimate a job before running it, and what stops a run from getting out of hand. - [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. - [Install app](https://docs.mobilerun.ai/api-reference/apps/install-app.md): Requests an app install on the device. The request body must supply exactly one of an Android packageName or an iOS bundleId; optional country and versionCode select an exact regional uploaded Android version, and protected packages are rejected. background (default false) selects the response contr… - [List app installs](https://docs.mobilerun.ai/api-reference/apps/list-app-installs.md): Reports the backend's durable view of background app-install attempts on this device — status reflects the install ATTEMPT, not device ground truth; list-apps remains authoritative for what is actually installed. Terminal and projected timeout records are kept ~15 minutes. Not gated on device readin… - [Open a deep link](https://docs.mobilerun.ai/api-reference/apps/open-a-deep-link.md): Opens a deep link on the device. On Android the link is dispatched as an intent — packageName optionally pins it to a specific app and action overrides the default android.intent.action.VIEW. On iOS the URL is opened directly and the optional fields must be omitted. Protected packages are rejected. - [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. - [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. - [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. - [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). - [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). - [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. - [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 device recordings](https://docs.mobilerun.ai/api-reference/recordings/list-device-recordings.md) - [Start a device recording](https://docs.mobilerun.ai/api-reference/recordings/start-a-device-recording.md) - [Get a device recording](https://docs.mobilerun.ai/api-reference/recordings/get-a-device-recording.md) - [Stop a device recording](https://docs.mobilerun.ai/api-reference/recordings/stop-a-device-recording.md) - [Delete a device recording](https://docs.mobilerun.ai/api-reference/recordings/delete-a-device-recording.md) - [Get a device recording trajectory](https://docs.mobilerun.ai/api-reference/recordings/get-a-device-recording-trajectory.md) - [Get a device recording video](https://docs.mobilerun.ai/api-reference/recordings/get-a-device-recording-video.md) - [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. - [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. - [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. - [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 text into the focused input field. The optional completionMode defaults to accepted for backwards-compatible low latency; committed additionally waits for the complete text or a quiescent UI state. - [Clear input](https://docs.mobilerun.ai/api-reference/navigation/clear-input.md): Clears the contents of the currently focused text input field. - [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. - [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. - [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 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. - [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 device clipboard](https://docs.mobilerun.ai/api-reference/misc/get-device-clipboard.md): Returns the current text content of the device's clipboard. Devices without clipboard support return an unsupported-feature error. - [Set device clipboard](https://docs.mobilerun.ai/api-reference/misc/set-device-clipboard.md): Replaces the device's clipboard content with the text in the request body; an empty text clears the clipboard. Devices without clipboard support return an unsupported-feature error. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [Provision a new device](https://docs.mobilerun.ai/api-reference/devices/provision-a-new-device.md): Requests a new device from the specification in the request body. Optional query parameters select the canonical device type, country, billing mode, and base profile. Returns the device, its resolved billing strategy, and its stream token. - [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 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. - [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. - [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 this device. For a legacy device this reflects the live instance's actual tools rather than its static type; for a core-managed device it is resolved from provider/pool configuration without guaranteeing a live instance. Used to determine which tools and… - [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. - [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. - [Resume (unpark) a stopped device](https://docs.mobilerun.ai/api-reference/devices/resume-unpark-a-stopped-device.md): Wakes a parked device: backend readiness and any required capacity are preflighted, the same device starts running again, and per-minute billing resumes. On a device that is not parked this is a no-op ready transition. - [Stop (park) a device](https://docs.mobilerun.ai/api-reference/devices/stop-park-a-device.md): Parks the device: its data, apps and identity are kept, but nothing runs and nothing is billed until it is resumed. Only devices whose capabilities report stop=true support this; others return 404. - [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. - [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. - [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 - [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 - [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. - [Get app by ID](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/get-app-by-id.md): Retrieves an app by its ID - [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. - [Confirm successful app upload](https://docs.mobilerun.ai/api-reference/apps-cloud-storage/confirm-successful-app-upload.md): Verifies the uploaded files in R2 and sets the app version status to available. Idempotent: replaying confirmation for an already-available version returns the same successful response without re-verifying the files. - [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. - [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) - [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 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. - [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 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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. - [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. - [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. - [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. - [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. - [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). - [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 phone numbers](https://docs.mobilerun.ai/api-reference/numbers/list-phone-numbers.md): Lists the caller's phone numbers. - [Purchase a phone number](https://docs.mobilerun.ai/api-reference/numbers/purchase-a-phone-number.md): Starts a phone-number purchase. Poll the returned phone number for status updates. `purpose` and `country` cannot be combined. - [Get included phone-number capacity for a country](https://docs.mobilerun.ai/api-reference/numbers/get-included-phone-number-capacity-for-a-country.md): Returns included phone capacity for a country. Creating a phone is authoritative. - [List dedicated-number countries](https://docs.mobilerun.ai/api-reference/numbers/list-dedicated-number-countries.md): Lists available countries and current phone-number availability. - [List phone purposes](https://docs.mobilerun.ai/api-reference/numbers/list-phone-purposes.md): Lists the optional purposes currently available for a Mobilerun Phone. - [Get phone number by id](https://docs.mobilerun.ai/api-reference/numbers/get-phone-number-by-id.md): Retrieves a single phone number. - [Cancel a phone-number purchase or an active rental](https://docs.mobilerun.ai/api-reference/numbers/cancel-a-phone-number-purchase-or-an-active-rental.md): Cancels a pending purchase or schedules cancellation of an active paid phone number. Repeating a scheduled cancellation is safe. Returns 409 when cancellation is not available. - [Update a phone number's display label](https://docs.mobilerun.ai/api-reference/numbers/update-a-phone-numbers-display-label.md): Updates the display label. Omitting `label` leaves it unchanged; null or an empty string clears it. - [List messages (inbox + outbox) on a number](https://docs.mobilerun.ai/api-reference/numbers/list-messages-inbox-+-outbox-on-a-number.md): Returns SMS messages on the number, inbound and outbound, scoped to the authenticated user. Newest first. Messages stay with the number across device switches. - [List the caller's own SMS inbox/outbox messages](https://docs.mobilerun.ai/api-reference/messages/list-the-callers-own-sms-inboxoutbox-messages.md): Lists SMS messages newest first, with filters for direction, eSIM, phone number, status, and conversation. - [List the caller's own SMS conversations, one row per thread](https://docs.mobilerun.ai/api-reference/messages/list-the-callers-own-sms-conversations-one-row-per-thread.md): Lists SMS conversations by recent activity. Use both cursor fields from `nextCursor` to fetch the next page. - [Mark a conversation's inbound messages read up to a cursor](https://docs.mobilerun.ai/api-reference/messages/mark-a-conversations-inbound-messages-read-up-to-a-cursor.md): Marks inbound messages in a conversation as read through the supplied cursor. Repeating the request is safe. - [List mailboxes](https://docs.mobilerun.ai/api-reference/mailboxes/list-mailboxes.md): Lists the caller-owned mailboxes with page-based pagination. - [Claim or rent a mailbox](https://docs.mobilerun.ai/api-reference/mailboxes/claim-or-rent-a-mailbox.md): Creates a mailbox on the default domain or a connected custom domain. An optional `localPart` selects the address. Replaying the same `clientRequestId` and payload returns the original mailbox. Poll the mailbox when a 202 response does not yet include a checkout URL. - [Get included mailbox capacity](https://docs.mobilerun.ai/api-reference/mailboxes/get-included-mailbox-capacity.md): Returns the number of mailboxes currently available through included capacity. - [Get a mailbox](https://docs.mobilerun.ai/api-reference/mailboxes/get-a-mailbox.md) - [Cancel or archive a mailbox](https://docs.mobilerun.ai/api-reference/mailboxes/cancel-or-archive-a-mailbox.md): Cancels a pending mailbox or schedules an active paid mailbox for cancellation. Existing addresses and messages are retained. Repeating the request is safe. - [Update a mailbox label](https://docs.mobilerun.ai/api-reference/mailboxes/update-a-mailbox-label.md): Updates the label of a mailbox. - [Get the best OTP candidate](https://docs.mobilerun.ai/api-reference/mailboxes/get-the-best-otp-candidate.md): Returns the most likely recent OTP for the mailbox. Returns 204 when no matching code is available. - [Restart rent on an archived mailbox](https://docs.mobilerun.ai/api-reference/mailboxes/restart-rent-on-an-archived-mailbox.md): Restarts an archived mailbox with the same address. Uses included capacity when available unless paid service is requested. - [Undo a scheduled cancellation](https://docs.mobilerun.ai/api-reference/mailboxes/undo-a-scheduled-cancellation.md): Withdraws a scheduled cancellation. Only available while cancellation is pending. - [List mailbox messages](https://docs.mobilerun.ai/api-reference/mailbox-messages/list-mailbox-messages.md): Lists mailbox messages with cursor pagination and optional time, sender, and OTP filters. - [Get a mailbox message](https://docs.mobilerun.ai/api-reference/mailbox-messages/get-a-mailbox-message.md) - [Abort the named session's in-flight chat turn](https://docs.mobilerun.ai/api-reference/chat/abort-the-named-sessions-in-flight-chat-turn.md): Abort the in-flight chat turn owned by `sessionId`. Idempotent. A turn owned by a different session is left untouched (204). - [Send a single user message](https://docs.mobilerun.ai/api-reference/chat/send-a-single-user-message.md): Send a single user message. The response format follows the Accept header: `text/event-stream` for SSE, `application/json` for a buffered assistant reply. Interactive HITL requires `Accept: text/event-stream`: the stream can emit a `tool-hitl-approval` event, whose decision must be delivered to `/as… - [List messages for a chat session](https://docs.mobilerun.ai/api-reference/chat/list-messages-for-a-chat-session.md): Return the user's chat history for the given session. History remains readable after the session is no longer active. - [Deliver a HITL approval/rejection to the user's active chat session](https://docs.mobilerun.ai/api-reference/chat/deliver-a-hitl-approvalrejection-to-the-users-active-chat-session.md): Deliver a HITL approval/rejection for an in-flight turn. Interactive HITL clients must start the turn with `Accept: text/event-stream`, wait for a `tool-hitl-approval` event, and send its `permissionId` here at `/assistant/chat/permission`. Do not submit approval as free-form user text or as `confir… - [Deliver a question answer to the user's active chat session](https://docs.mobilerun.ai/api-reference/chat/deliver-a-question-answer-to-the-users-active-chat-session.md): Deliver the user's answers to the agent's pending question for an in-flight turn. Idempotent via the `idempotency-key` header. - [Dismiss an outstanding question without answering](https://docs.mobilerun.ai/api-reference/chat/dismiss-an-outstanding-question-without-answering.md): Dismiss the agent's pending question. Already-resolved questions return 200 (no-op) so multi-tab dismiss stays idempotent. - [List the user's named chat or agent-workflow sessions](https://docs.mobilerun.ai/api-reference/chat/list-the-users-named-chat-or-agent-workflow-sessions.md): Default (`kind` absent or `chat`): active named chat sessions, pinned first then most recent activity — `workflowId` must be absent, or the request 400s. `mine=true` (only valid with `kind=chat`) narrows to sessions the caller created. `kind=agent_workflow`: workflow-linked sessions for one workflow… - [Create a named chat session](https://docs.mobilerun.ai/api-reference/chat/create-a-named-chat-session.md): Creates a titled agent session. Setup may occur on the first prompt. Idempotent via the `Idempotency-Key` header — a duplicate submit by the same authenticated caller within the 24-hour idempotency window returns the already-created session instead of a second one. - [Rename, archive, or pin a named chat session](https://docs.mobilerun.ai/api-reference/chat/rename-archive-or-pin-a-named-chat-session.md): Rename, change status, and/or pin. Title updates apply best-effort. Archiving always clears the pinned flag. `title` is rejected with 409 `code: "session_title_managed_by_workflow"` when this chat is bound to a workflow — a bound chat's title is managed by the workflow. Other fields (description, st… - [Re-attach to the active turn stream](https://docs.mobilerun.ai/api-reference/chat/re-attach-to-the-active-turn-stream.md): Reconnect to the in-flight turn stream. Replays buffered events from the start of the active turn, then continues live until the turn finishes. Responds 204 when no active turn exists for the requested session. Upstream streaming failures return a retryable 503 with `Retry-After`. Resume is best-eff… - [List the user's ready files, optionally filtered by zone](https://docs.mobilerun.ai/api-reference/files/list-the-users-ready-files-optionally-filtered-by-zone.md) - [Mint a presigned PUT URL for a user file upload](https://docs.mobilerun.ai/api-reference/files/mint-a-presigned-put-url-for-a-user-file-upload.md) - [Hard-delete a file](https://docs.mobilerun.ai/api-reference/files/hard-delete-a-file.md) - [Update file metadata (skills zone only)](https://docs.mobilerun.ai/api-reference/files/update-file-metadata-skills-zone-only.md): Partial update of `displayName` and/or `enabled`. Only files with `zone=skills` are mutable; other zones return 422 `unsupported_zone`. - [Confirm a file upload by server-side HEAD validation](https://docs.mobilerun.ai/api-reference/files/confirm-a-file-upload-by-server-side-head-validation.md) - [Download an owned file](https://docs.mobilerun.ai/api-reference/files/download-an-owned-file.md): Redirects to a short-lived presigned download URL. Missing, non-ready, and files owned by another tenant all return the same 404 response. - [Cancel a pending upload (transitions to expired, deletes the underlying object)](https://docs.mobilerun.ai/api-reference/files/cancel-a-pending-upload-transitions-to-expired-deletes-the-underlying-object.md): Soft-cancels an in-flight upload before confirm. Only acts on `pending` rows — refuses to touch `ready` to avoid wiping confirmed files. Idempotent: `{ cancelled: false }` if the row exists but is no longer pending. - [List Tasks](https://docs.mobilerun.ai/api-reference/tasks/list-tasks.md): List tasks with optional filtering, sorting, and pagination. - [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. - [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. - [Get Task](https://docs.mobilerun.ai/api-reference/tasks/get-task.md): Get full details of a task by ID. - [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. - [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. - [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). - [Get Task Screenshots](https://docs.mobilerun.ai/api-reference/tasks/get-task-screenshots.md): List all screenshot URLs for a task. - [Get Task Screenshot](https://docs.mobilerun.ai/api-reference/tasks/get-task-screenshot.md): Get a specific screenshot by index. - [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 States](https://docs.mobilerun.ai/api-reference/tasks/get-task-ui-states.md): List all UI state URLs for 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. - [List Models](https://docs.mobilerun.ai/api-reference/models/list-models.md): List available LLM models. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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`. - [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 flows](https://docs.mobilerun.ai/api-reference/flows/list-flows.md): Return a paginated list of flows. Supports filtering by `triggerId`, `enabled`, one or more health `status` values (healthy, failing, blocked), `mine` (flows created by the calling actor), `createdBy` (flows created by a given actor id — mutually exclusive with `mine`), plus free-text `search` and o… - [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. - [Get workflow agent capacity](https://docs.mobilerun.ai/api-reference/flows/get-workflow-agent-capacity.md): Returns an owner-scoped snapshot of finite included workflow-agent capacity after locally stored enabled and disabled agents. Available only while slot enforcement is enabled; otherwise returns 503. This is advisory; create and clone perform authoritative admission under an owner lock. - [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. - [Archive a flow](https://docs.mobilerun.ai/api-reference/flows/archive-a-flow.md): Terminally archive a flow by its ID. Archived flows cannot be restored and are hidden from customer reads. Repeating the request is idempotent for the owner. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [List self-healing repair episodes](https://docs.mobilerun.ai/api-reference/flows/list-self-healing-repair-episodes.md) - [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. - [Verify a flow](https://docs.mobilerun.ai/api-reference/flows/verify-a-flow.md): Run a bound, deduplicated **verification** of this flow on exactly one device through the real worker. - [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. - [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. - [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). - [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). - [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. - [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`, `invocationId` (the client/verify key), `status`, and a `from`/`to` time range, plus free-text `search` and ordering by startedAt, finishedAt, or status. - [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. - [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. - [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. - [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) and/or by `search` (a case-insensitive substring match against the URL or description). 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. - [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. - [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. - [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. - [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. - [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. - [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), by a `since` timestamp, and by `eventId` (exact match against the originating e… - [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 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. Results can be filtered by `eventId` (exact match against the originating event id). - [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. - [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. - [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. - [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. - [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 - [Overview](https://docs.mobilerun.ai/framework/guides/overview.md) - [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 - [CLI Usage](https://docs.mobilerun.ai/framework/guides/cli.md): Command-line interface for controlling devices with natural language - [Configuration](https://docs.mobilerun.ai/framework/sdk/configuration.md): Complete MobileAgent configuration guide - all parameters, minimal examples - [Vision Mode](https://docs.mobilerun.ai/framework/features/vision.md): Screenshots for agents, and how screen coordinates stay accurate - [Structured Output](https://docs.mobilerun.ai/framework/features/structured-output.md): Extract structured data from device interactions using Pydantic models - [Credential Management](https://docs.mobilerun.ai/framework/features/credentials.md): Extend Mobilerun with secure credential management - [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. - [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. - [Prompt Templates](https://docs.mobilerun.ai/framework/concepts/prompts.md): Customizing agent behavior with Jinja2 prompt templates. - [Tracing](https://docs.mobilerun.ai/framework/features/tracing.md): Configure Phoenix/Langfuse tracing and trajectory recording - [Event Streaming](https://docs.mobilerun.ai/framework/concepts/events-and-workflows.md): How to consume real-time events from MobileAgent execution. - [Telemetry](https://docs.mobilerun.ai/framework/features/telemetry.md): Configure anonymous telemetry - [Architecture](https://docs.mobilerun.ai/framework/concepts/architecture.md): Understanding the Mobilerun multi-agent system for device automation. - [Shared State](https://docs.mobilerun.ai/framework/concepts/shared-state.md): State available to custom tools during a Mobilerun task. - [Reference](https://docs.mobilerun.ai/framework/sdk/reference.md): Complete API reference for Mobilerun components and tools - [MobileAgent](https://docs.mobilerun.ai/framework/sdk/droid-agent.md) - [AndroidDriver](https://docs.mobilerun.ai/framework/sdk/adb-tools.md) - [iOS Driver](https://docs.mobilerun.ai/framework/sdk/ios-tools.md) - [DeviceDriver Base Class](https://docs.mobilerun.ai/framework/sdk/base-tools.md) ## OpenAPI Specs - [mobilerun-mailbox](/api-reference/mobilerun-mailbox.yaml) - [mobilerun-numbers](/api-reference/mobilerun-numbers.yaml) - [mobilerun-proxy](/api-reference/mobilerun-proxy.yaml) - [mobilerun-va-chat](/api-reference/mobilerun-va-chat.yaml) - [phones](/api-reference/phones.yaml) - [tools](/api-reference/phones/tools.yaml) - [tasks](/api-reference/tasks.yaml) - [webhooks](/api-reference/webhooks.yaml) - [workflows](/api-reference/workflows.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.