/v1/leases/{lease}/randomPOSTusername is built
from the newest name and last name made on this lease, else from random ones. Values
are never deleted: GET /v1/random lists them after the lease ends.ghosthand tunnel url --new-token. The unix socket needs no tokenapplication/jsonrequiredname, lastname: common US first or last name. username: lowercase letters and 4
digits, at most 15 chars, also an email username. birthdate: YYYY-MM-DD, age 19 to 45.
password: 16 chars with uppercase, lowercase, digits and symbols !@#$%*, starts uppercase.name, lastname: common US first or last name. username: lowercase letters and 4
digits, at most 15 chars, also an email username. birthdate: YYYY-MM-DD, age 19 to 45.
password: 16 chars with uppercase, lowercase, digits and symbols !@#$%*, starts uppercase."Kq7m#Xp2vR9t$bWn"studio:42 (42 when that Mac is signed out). Pass it back exactly as returned.
Whoever has it can use the iPhone."42"Pattern: ^([a-z0-9-]+:)?[1-9][0-9]*$GET /v1/devices)title and detail are for people.curl -X POST "https://ghosthand.dev/macs/studio/v1/leases/42/random" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "kind": "name" }'
{ "code": "device-leased", "title": "iPhone leased by another client", "status": 409, "detail": "Tommy's iPhone is in use by another lease:\n ses_456 (book a table on OpenTable), acquired 2 min ago, last used 10 s ago (tap)\nDecide first: if that task is still active, give up or tell the user the iPhone is busy." }