Skip to main content
Manage mobile devices — cloud phones you look at, tap, type into and destroy. The third member of the computer suite beside vetta computer.

Commands

vetta mobile list --session-id ses_… lists only the phone that agent session opened.

create

The command waits up to about 45 seconds for the phone and answers with whatever is true then, usually "status": "creating": a phone is ready in about a minute, and vetta mobile show follows it. There is no pause: the two timers are how idle cost is controlled. There is no limit on how many phones you run, only on the balance: a create needs 10 minutes ($0.39) for every live phone and the new one, plus what the live ones have run, or it fails with insufficient_credits (402). When the platform’s phones are all in use it fails with rate_limited (429); try again shortly.

act

One verb over the whole action surface. --type picks the action; the other flags belong to it.
A tap with neither coordinates nor a selector is a usage error, not a request.

screenshot

Without --out the JSON result is printed, the image bytes base64-encoded in image.data. With it, the JPEG bytes are written to the path and the command prints { "path": "shot.jpg", "content_type": "image/jpeg" }.

live-view

Prints { "object": "mobile_live_view", "url": "https://…/mobile/mob_…", "expires_at": null }. url is the device’s dashboard page, where the stream plays. The CLI never prints the stream half of the answer: it is a bearer credential (anyone holding it drives the device until it ends), and a terminal’s output ends up in scrollback and CI logs. Each mint is recorded in the audit log without the credential.

show, update, delete

show asks the provider and reports the truth — a device ended by its idle timer comes back terminated with termination_reason: "idle_timeout". list reads stored rows only and can lag until a show.