Skip to main content
You can add and remove Lusor Phones with the API. Each change is two calls: a preview that quotes the price and changes nothing, then a confirm that applies that exact quote. An API key can do this on its own workspace. In the app, only organization admins can.
The API changes the number of phones on an existing Phone plan. Your workspace needs an active Phone plan first. Start one from the Phones page in the Lusor app with Add phone. Without a plan, these calls return 409 no_subscription.

Add phones

1

Preview

POST /v1/workspaces/{workspaceId}/devices/deploy/previewNothing is charged. The quote is valid for 10 minutes.
2

Confirm

POST /v1/workspaces/{workspaceId}/devices/deploy with { "previewId": "…" } from the quote.The plan’s phone count rises by the quoted number and the quoted amount is charged to your saved card at once.
3

Wait for the phones

Each new phone appears in GET /v1/devices once the payment is confirmed, usually within seconds. It is ready to use once it has been set up, which takes minutes.
Phones are always added to your organization’s default workspace. A preview for any other workspace returns 409 default_workspace_only.

Remove a phone

1

Preview

POST /v1/workspaces/{workspaceId}/devices/{deviceId}/remove/preview with an empty body.The quote shows the plan’s phone count after the removal and the credit for the unused rest of the current period. The credit goes to your account balance and is applied to your next invoice. Nothing changes yet. The quote is valid for 10 minutes.
2

Confirm

POST /v1/workspaces/{workspaceId}/devices/{deviceId}/remove with { "previewId": "…" }.That phone, and no other, stops accepting runs at once. The plan’s phone count falls by one, and the phone is then wiped and released.
Removing a phone erases it. Its apps and data cannot be recovered.
A removal is refused with 409 device_busy while a session is running on the phone, including a session that started after the preview. The plan’s last phone cannot be removed this way (409 last_phone). Cancel the plan in billing management instead.

The quote

Amounts are in US cents.

Payment

  • If the charge does not go through, the confirm returns paymentPending: true. Nothing changed: the phone count stays the same and no phone is added. Complete the payment in billing management.
  • 503 billing_unavailable on a preview means nothing changed. Try again.
  • 503 billing_unavailable on a confirm means the outcome is unknown. Retry the confirm with the same previewId, which is never applied twice. Do not request a new quote, because confirming it could add a second phone.

Errors

Nothing is charged or removed when a call returns one of these errors.

Wipe-and-reset progress

A Lusor Phone can be wiped back to a fresh state from its settings in the app. The API can follow the progress but cannot start a wipe.
A phone that is not a Lusor Phone returns 409 not_managed_phone.

Only in the app

These changes are made by someone signed in to the Lusor app. They are not part of the API:
  • Starting a Phone plan, and cancelling it.
  • Adding or removing your own iPhone.
  • Wiping and resetting a Lusor Phone (admins only).
  • Renaming a phone, or moving it to another workspace.
  • Changing a Lusor Phone’s Internet location or static IP. See Internet and static IP.