Deactivate Device
Deactivates a device, releasing its seat for use elsewhere.
POST /api/v1/products/{slug}/licenses/{key}/deactivate
Try it in the Interactive API Docs →
When to Use
- User wants to transfer license to another device
- App uninstall (best effort)
- "Deactivate this device" settings option
- Before hardware changes that alter device ID
Path Parameters
| Parameter |
Required |
Description |
slug |
Yes |
Product slug (e.g., my-app) |
key |
Yes |
License key |
Request Body
| Parameter |
Required |
Description |
device_id |
Yes |
The device to deactivate |
Example Request
curl -X POST https://licenseseat.com/api/v1/products/my-app/licenses/XXXX-XXXX-XXXX-XXXX/deactivate \
-H "Authorization: Bearer pk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"device_id": "057b55c8-1234-5678-abcd-123456789abc"}'
Response
{
"object": "deactivation",
"activation_id": 123,
"deactivated_at": "2024-01-15T12:00:00Z"
}
Response Fields
| Field |
Description |
activation_id |
ID of the deactivated activation |
deactivated_at |
Timestamp of deactivation |
Error Codes
| Code |
HTTP |
Meaning |
not_found |
404 |
No active activation for this device |
license_not_found |
404 |
License key doesn't exist |
revoked |
422 |
License revoked, activations already disabled |
suspended |
422 |
License suspended |
expired |
422 |
License expired |
Deactivation Scenarios
User-Initiated
- "Transfer to another computer" button
- Account settings in web portal
- In-app device management
Automatic
- App uninstall handler (network permitting)
- User logout
- Before hardware upgrades
Handling Failures
If deactivation fails (e.g., network error during uninstall):
- Seat remains consumed until manually cleared
- Users can deactivate via LicenseSeat customer portal
- Admins can deactivate via dashboard
- Auto-release after inactivity (if configured)
See Also