Find your profile id
GET /me returns a profile block:
Start it
Pass the id asprofile_id when creating a session. Everything else is the same as a temporary phone: the request is admitted with 202, you poll GET /sessions/{sid} until ready, and the session has the deadline you chose.
profile field carries the id back, and startup describes how the phone came up:
{"mode": "profile", "pool": "store", "startup": "exact"}: resumed exactly as you left it, typically ready about 10 seconds after the request.{"mode": "profile", "pool": "store", "startup": "rebooted"}: the service was upgraded since the save, so the phone booted from its kept storage. Apps, accounts and data are intact; whatever was on screen is not.- Any other
startup: the first profile session, which starts like a temporary phone and becomes yours.
POST /sessions with the same profile_id while the phone is held or still saving answers 409 with code: "profile_running" and the session that holds it. Temporary phones are not affected: you can start one while your phone is being saved.
Stop it
End the session as usual withDELETE /sessions/{sid}. Instead of being discarded, the phone is saved: profile.state in GET /me moves through saving to stored, usually within about half a minute. Billing stops when you end the session, not when the save finishes. If the session reaches its deadline before you end it, the phone is still kept, but without its running state: the next start comes back rebooted.
Reset it
POST /me/profile/reset forgets the saved phone. The next profile session starts fresh. It is refused with 409 profile_running while a session holds the phone, and it cannot be undone.
What is kept, and what is not
- Kept: apps, accounts, files, settings, the device identity Google saw, and normally the exact running state.
- Not kept: network connections (apps reconnect on resume, as after sleep), and the running state across a service upgrade (see
rebootedabove). - Storage for one profile is included. Additional profiles are not available yet.