REST API
Leases
Claims so parallel agents never share a device.
createLease
Section titled “createLease”POST /v1/leases
Claim devices so no other agent drives them
Request body: application/json.
| Field | Type | What it is |
|---|---|---|
deviceIds |
array of string | |
selector |
object | |
ttlSeconds |
integer | |
waitMs |
integer | How long to wait in line for a busy device, up to 60 minutes. A team phone on another Mac waits in that Mac’s line, with the people there. |
task |
string | What you work on, in a few words (“Checkout test”). A team phone’s Mac shows it with your name. |
| Response | Means |
|---|---|
| 201 | Lease granted. Lease |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |
MCP tools on this operation: claim_devices.
renewLease
Section titled “renewLease”POST /v1/leases/{leaseId}
Extend a lease
| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
leaseId |
path | yes | string |
Request body: application/json.
| Field | Type | What it is |
|---|---|---|
ttlSeconds |
integer |
| Response | Means |
|---|---|
| 200 | Renewed. Lease |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |
releaseLease
Section titled “releaseLease”DELETE /v1/leases/{leaseId}
Release devices
| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
leaseId |
path | yes | string |
| Response | Means |
|---|---|
| 204 | Released. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |
MCP tools on this operation: release_devices.